1. Field of the Invention
The present invention relates to portable computing devices and, more particularly, to a method and apparatus for synchronization of a portable computer with a desktop computer or a remote server.
2. Description of the Related Art
Today there are many types of portable computing devices that operate various applications that use files which are permanently resident on a main computer, such as a desktop computer or file server. The portable computing device thus often stores a copy of one or more of the files that are permanently resident on the main computer. Synchronization is then the task of making the copies of the files at the different locations the same. Usually, this means that the most up to date version of the files are used to copy over the older versions.
For example, a common situation in where a user has a desktop computer at a business office but uses a portable computer when working away from the business office. Typically, the desktop computer, or a file server networked thereto, is the permanent storage location for files used by the user. However, often the user copies files from the desktop computer (or file server) to the portable computer so that the user can work on using these files while away from the business office. When the user does work away from the business office using these files with the portable computer, these files are often updated or changed. When this happens, the copy of the files on the portable computer becomes the correct version and the copies on the desktop computer (or file server) are outdated. Hence, in such a situation, a synchronization operation is performed when the portable computer is next connected to the desktop computer. In such case, the copies of the files on the desktop computer (or file server) are synchronized with the copies on the portable computer which, in this example, are more current. Similarly, when new files are created on the portable computer, such newly created files would also be copied over to the desktop computer (or file server) during synchronization.
Often, synchronization is performed be remotely accessing a network having the desktop computer or server coupled thereto. With today""s portable computers, remote access synchronization software requires a portable computer to be open and powered-up to perform the remote access synchronization software. The remote access synchronization software also requires that the portable computer be connected to the main computer. This connection is often provided by a telephone line connection from the portable computer to a local network that couples to the main computer. Still further, various user selections and navigations are required with a user interface for the remote access software.
It is also common for portable computers to require multiple types of synchronization. For example, two commonly performed separate synchronizations for a portable computer are (i) synchronization with an email server and (ii) synchronization with a file server. These different synchronizations are processed separately and use different user interactions to provide the different types of synchronization. For example, it is typical that a synchronization operation needs to be performed for files, and that a separate synchronization operation needs to be performed for email and calendar updating. It is often problematic for a user of the portable computer to effectuate the synchronization operations due to the significant amount of user interaction as well as time required with each the synchronization programs to cause the synchronizations to occur.
Also, during the synchronizations, the portable computer needs to be coupled to a telephone line which makes it inconvenient to utilize the portable computer in many cases. For example, if a user of a portable computer is connecting to a telephone line by using a pay telephone, then the user often has difficulties in resting the portable computer in a convenient position that permits not only connection to the telephone but also viewing the screen and user interaction with the keyboard and pointing device. These inconveniences further complicate the synchronization operations for the user.
In Microsoft Windows 95(trademark), a xe2x80x9cBriefcasexe2x80x9d feature is provided as a mechanism for automatically copying files that have changed from a portable computer back to a desktop computer. To use the Briefcase, you drag files from a shared folder on your main computer to the Briefcase folder (icon) on the portable computer, at this point the two computers need to be connected by a wire or by a network. Later, when finished working on your portable computer, reconnect to the main computer, and select xe2x80x9cUpdate Allxe2x80x9d in the Briefcase to automatically replace the unmodified files on the main computer with the modified files in your Briefcase. Also, Microsoft Outlook 98(trademark) provides remote access synchronization to update email (e.g., update mailboxes) and calendar entries.
In order to perform these synchronizations, the portable computing device needs to be operative. That is, the battery of the portable computing device needs to have sufficient charge remaining to power-up the portable computing device, connect the portable with a main computer, run the synchronization modules, and interact with the user via keyboard, screen and pointing device. Hence, during synchronization significant amounts of power are needed and consumed, and thus the operation of portable computing devices are not power efficient during synchronizations. Often users of portable computing devices are without an AC power source and operate on battery power. These users often consume nearly all the available battery power before shutting down the portable computer. If this happens, there is typically not enough battery power to perform all the needed synchronizations with a main computer. In such cases, synchronization cannot occur until a replacement battery is obtained or a AC power source is available.
Thus, there is a need for improved synchronization techniques that improve the ease with which synchronization operations are performed.
Broadly speaking, the invention relates to improved synchronization techniques that improve the ease with which synchronization operations are performed. Synchronization is performed between resources on a portable computing device and resources stored on a remote server. There are several aspects of the invention and embodiments of the invention can use one or more of these aspects to provide improved synchronization. One aspect of the invention pertains to providing centralized synchronization across different types so that user interaction to achieve the different types of synchronization is minimal. Another aspect of the invention pertains to conservation of battery power during synchronization. Still another aspect of the invention pertains to informing a user of the portable computing device that shut-down or low-power state should be entered within a predetermined period of time to have sufficient battery power remaining to perform the synchronization. Yet another aspect of the invention is the ability to automatically activate the synchronization processing upon detecting of the connection to a telephone line.
The invention can be implemented in numerous ways, including as a method, an apparatus, a computer readable medium, and a computer system. Several embodiments of the invention are discussed below.
As a method for synchronizing resources between a portable computing device and a remote synchronization server, one embodiment of the invention includes the operations of centrally tracking synchronization events on the portable computing device; determining whether synchronization is to be performed; and when the determining indicates that synchronization is to be performed, then sending synchronization information pertaining to the synchronization events tracked to the remote synchronization server, and distributing the synchronization information to appropriate destinations where synchronization operations are separately performed.
As a system for synchronization of a portable computing device with remotely located resources, one embodiment of the invention includes: local resources stored on the portable computing device; a synchronization client on the portable computing device that logs changes to the local resources; a remote destination server that stores remote resources, at least a portion of the local resources being copies of the remote resources; and a synchronization server that communicates with the synchronization client to synchronize those of the remote resources that correspond to the local resources that have been logged as being changed by the synchronization client.
As a method for notifying a user of a portable computing device that shut-down or low-power operation should occur to permit synchronization of the portable computing device with remote resources, one embodiment of the invention includes: determining an estimated battery life for a battery of the portable computing device when continuing to power the portable computing device from the battery; determining an estimated synchronization time for synchronization of the portable computing device with the remote resources; determining an available usage time based on the estimated synchronization time and the estimated battery life; and displaying an indication of the available usage time.
As a portable computing device, one embodiment includes: a display device, a memory device, a processor, a modem and a telephone line detection circuit. The memory device stores a computer program to provide synchronization processing. The processor executes the computer program to provide the synchronization processing. The modem operates to provide communications over a telephone line when activated. The telephone line detection circuit operates to detect the existence of the connection of the modem to the telephone line. When the telephone line detection circuit detects the existence of the connection of the modem to the telephone line, the telephone line detection circuit informs the processor and in response the processor activates the synchronization processing.
The advantages of the invention are numerous. Different embodiments of the invention may yield some or all of these advantages. One advantage of the invention is that minimal power consumption is used by the portable computing device during synchronization. As a result, battery power is conserved and thus synchronization operation are less likely to fail due to battery failure. Another advantage of the invention is that the amount of user interaction that needed by the portable computing device in performing synchronization is substantially reduced.
Other aspects and advantages of the invention will become apparent from the following detailed description taken in conjunction with the accompanying drawings which illustrate, by way of example, the principles of the invention.